Skip to content

[dev-1.36] KEP-5491: DRA: List Types for Attributes#54561

Open
everpeace wants to merge 1 commit intokubernetes:dev-1.36from
everpeace:KEP-5491-alpha
Open

[dev-1.36] KEP-5491: DRA: List Types for Attributes#54561
everpeace wants to merge 1 commit intokubernetes:dev-1.36from
everpeace:KEP-5491-alpha

Conversation

@everpeace
Copy link
Copy Markdown
Contributor

@everpeace everpeace commented Feb 20, 2026

For: kubernetes/enhancements#5491
Feature blog post PR: #54567

Description

This PR adds a user-facing document for kubernetes/enhancements#5491

/wg device-management

@k8s-ci-robot k8s-ci-robot added this to the 1.36 milestone Feb 20, 2026
@k8s-ci-robot k8s-ci-robot added size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Feb 20, 2026
@everpeace everpeace changed the title KEP-5491: docs placeholder [dev-1.36] KEP-5491: DRA: List Types for Attributes Feb 20, 2026
@netlify
Copy link
Copy Markdown

netlify bot commented Feb 20, 2026

Pull request preview available for checking

Built without sensitive environment variables

Name Link
🔨 Latest commit 2e6a6c0
🔍 Latest deploy log https://app.netlify.com/projects/kubernetes-io-main-staging/deploys/69c5229a62880e0008f98730
😎 Deploy Preview https://deploy-preview-54561--kubernetes-io-main-staging.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@sayanchowdhury
Copy link
Copy Markdown
Member

Hello @johnbelamaric @everpeace 👋, v1.36 Docs Team here again!

Please take a look at Documenting for a release - PR Ready for Review to get your PR ready for review before Tuesday 31st March 2026.

Please let us know once your PR is fully Ready for Review -- meaning all documentation updates are complete and it's awaiting reviewer feedback -- so we can update our tracking.

Thank you!

@k8s-ci-robot k8s-ci-robot added the language/en Issues or PRs related to English language label Mar 26, 2026
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign sayanchowdhury for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Mar 26, 2026
@everpeace
Copy link
Copy Markdown
Contributor Author

/assign @johnbelamaric @klueska @pohly @pravk03 (as this KEP's reviewers)
Would you mind reviewing this??

Please let us know once your PR is fully Ready for Review -- meaning all documentation updates are complete and it's awaiting reviewer feedback -- so we can update our tracking.

@sayanchowdhury I think this PR is now ready for review.

@singh1203
Copy link
Copy Markdown

Hello @everpeace 👋,
I'm reaching out from the Docs team again.
Just checking in as we approach Docs Freeze on Wednesday 8th April 2026 (AoE) / Thursday 9th April 2026, 12:00 UTC.
This documentation appears to still be under review.
To meet the Docs Freeze, this PR must have a technical review as well as lgtm and approve labels applied, without any unaddressed comments or concerns from SIG Docs.
Thank you!

@singh1203
Copy link
Copy Markdown

### List type attributes {#list-type-attributes}

{{< feature-state feature_gate_name="DRAListTypeAttributes" >}}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would re-organize this into two sections. One is for end users, and one is for DRA driver authors. I would start with a very short overview and end user content. Something like:

Suggested change
This feature improves the ResourceSlice API, allowing DRA drivers to specify list values for device attributes instead of only scalars. This is useful for modeling more complex internal node topologies, for example when a CPU has adjacency to multiple PCIe roots.
For ResourceClaim authors (end users), this means that the `matchAttribute` and `distinctAttribute` work better for these cases. When using `matchAttribute`, the two attributes must have a *non-empty list intersection*, rather than be identical (scalar values are treated as single-item lists). This just means that if one driver publishes a single value for, say, the PCIe root, and another driver publishes a list, the constraint is met as long as the single value appears somewhere in the list. Similarly, for `distinctAttribute`, the attribute values must be *pairwise-disjoint* (no value shared between any two devices).
To help ResourceClaim authors use attributes that may be lists inside CEL expressions, this feature also introduces an `includes()` CEL function.
...add more from your section below...


{{< feature-state feature_gate_name="DRAListTypeAttributes" >}}

By default, each `DeviceAttribute` holds exactly one scalar value: a boolean, an integer,
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here, preface this with a header that indicates it is mostly for driver authors:

Suggested change
By default, each `DeviceAttribute` holds exactly one scalar value: a boolean, an integer,
#### Details for DRA Driver Authors
By default, each `DeviceAttribute` holds exactly one scalar value: a boolean, an integer,

- model-b
```

#### Effect on `matchAttribute` and `distinctAttribute`
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you can remove this section (make sure what you put up above covers the same material)

Scalar attributes are backward-compatible: a single-value attribute is treated as a
singleton set for the purpose of these comparisons.

#### The `includes()` CEL function
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here - this should be covered above (add to what I put in the suggestion)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. language/en Issues or PRs related to English language size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants